package com.ruoyi.datam.service.impl;

import java.util.List;

import com.ruoyi.common.core.domain.base.datam.StCrossB;
import com.ruoyi.common.core.domain.base.datam.StStationB;
import com.ruoyi.common.core.domain.base.datam.WiLandB;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.datam.mapper.StCrossBMapper;
import com.ruoyi.datam.mapper.WiLandBMapper;
import com.ruoyi.datam.service.IWiLandBService;
import com.ruoyi.datam.util.NumberUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 地块信息登记Service业务层处理
 *
 * @author hwd
 * @date 2023-02-16
 */
@Service
public class WiLandBServiceImpl implements IWiLandBService {
    @Autowired
    private WiLandBMapper wiLandBMapper;
    @Autowired
    private StCrossBMapper stCrossBMapper;

    /**
     * 查询地块信息登记
     *
     * @param landCd 地块信息登记主键
     * @return 地块信息登记
     */
    @Override
    public WiLandB selectWiLandBByLandCd(String landCd) {
        return wiLandBMapper.selectWiLandBByLandCd(landCd);
    }

    /**
     * 查询地块信息登记列表
     *
     * @param wiLandB 地块信息登记
     * @return 地块信息登记
     */
    @Override
    public List<WiLandB> selectWiLandBList(WiLandB wiLandB) {
        List<WiLandB> wiLandBS = wiLandBMapper.selectWiLandBList(wiLandB);
        for (WiLandB vo : wiLandBS) {
            StCrossB stCrossB = stCrossBMapper.selectStCrossBByCrossCd(vo.getCrossCd());
            if (stCrossB != null) {
                vo.setCrossNm(stCrossB.getCrossNm());
            }
            String cropNm = wiLandBMapper.getCropNm(vo.getCropCd());
            if (StringUtils.isNotBlank(cropNm)) {
                vo.setCropNm(cropNm);
            }
        }
        return wiLandBS;
    }

    /**
     * 新增地块信息登记
     *
     * @param wiLandB 地块信息登记
     * @return 结果
     */
    @Override
    public int insertWiLandB(WiLandB wiLandB) {
        int count = wiLandBMapper.selectAllWiLandBList(new WiLandB()).size()+1;
        if (wiLandB.getCrossCd()!=null){
            wiLandB.setLandCd("LAN"+wiLandB.getCrossCd().substring(3,9)+ NumberUtil.geFourNumber(count,5));
        }else {
            wiLandB.setLandCd("LAN"+"654322"+ NumberUtil.geFourNumber(count,5));
        }
        return wiLandBMapper.insertWiLandB(wiLandB);
    }

    /**
     * 修改地块信息登记
     *
     * @param wiLandB 地块信息登记
     * @return 结果
     */
    @Override
    public int updateWiLandB(WiLandB wiLandB) {
        return wiLandBMapper.updateWiLandB(wiLandB);
    }

    /**
     * 批量删除地块信息登记
     *
     * @param landCds 需要删除的地块信息登记主键
     * @return 结果
     */
    @Override
    public int deleteWiLandBByLandCds(String[] landCds) {
        return wiLandBMapper.deleteWiLandBByLandCds(landCds);
    }

    /**
     * 删除地块信息登记信息
     *
     * @param landCd 地块信息登记主键
     * @return 结果
     */
    @Override
    public int deleteWiLandBByLandCd(String landCd) {
        return wiLandBMapper.deleteWiLandBByLandCd(landCd);
    }
}
